#!/usr/bin/env node

const http = require('http'),
      qs = require('querystring'),
      log = console.log;
let items = [];

function genPage(){
  let html =`<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Todo List</title>
</head>
<body>
<h1>Todo List</h1>
<form method='POST' action='http://192.168.8.144:8080/'>
  <input type="username" name="item">
  <input type="submit" value="submit">
</form>
<ul id="items">
 ${items.map(i => '<li>' + i + '</li>').join('\n')}
</ul>
</body>
</html>`;
  return html;
}

http.createServer((req, res) => {
   if(req.url !== '/'){
    res.statusCode = 404;
    res.setHeader('content-type','text/html');
    res.end(`<h1>Not Found!</h1>`);
    return;
  }
  let data = '';
  req.on('data', chunck => data += chunck);
  req.on('end', () => {
    let item = qs.parse(data).item;
    if(item !== '' && typeof item !== 'undefined'){
      items.push(item);
    }
    res.writeHead(200, {
      'content-type': 'text/html',
      'Content-Length': Buffer.byteLength(genPage())
    });
    res.end(genPage());
  })

}).listen(8080);

